package com.medical.patient.service.impl;

import com.medical.common.utils.PageUtils;
import com.medical.common.utils.Query;
import com.medical.patient.vo.UpdatePwdVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;


import com.medical.patient.dao.PatientPatientDao;
import com.medical.patient.entity.PatientPatientEntity;
import com.medical.patient.service.PatientPatientService;


@Service("patientPatientService")
public class PatientPatientServiceImpl extends ServiceImpl<PatientPatientDao, PatientPatientEntity> implements PatientPatientService {

    @Autowired
    private PatientPatientDao patientPatientDao;

    @Override
    public PageUtils queryPage(Map<String, Object> params,PatientPatientEntity patientPatientEntity) {
        QueryWrapper<PatientPatientEntity> wrapper = new QueryWrapper<>();
        if (wrapper!=null){
            if (patientPatientEntity.getUserId()!=null && patientPatientEntity.getUserId().length()>0){
                wrapper.like("user_id",patientPatientEntity.getUserId());
            }
            if (patientPatientEntity.getPatientName()!=null && patientPatientEntity.getPatientName().length()>0){
                wrapper.like("patient_name",patientPatientEntity.getPatientName());
            }
        }
        IPage<PatientPatientEntity> page = this.page(
                new Query<PatientPatientEntity>().getPage(params),
                wrapper
        );

        return new PageUtils(page);
    }

    @Override
    public List<PatientPatientEntity> listByPatientName(PatientPatientEntity patientPatientEntity) {
        List<PatientPatientEntity> patientEntityList = patientPatientDao.selectListByPatientId(patientPatientEntity);
        return patientEntityList;
    }

    //用户密码修改
    @Override
    public void updatePwdById(PatientPatientEntity patientPatient) {
        patientPatientDao.updatePwdById(patientPatient);
    }

    //用户头像昵称展示
    @Override
    public PatientPatientEntity findImgNameByUserId(String userId) {
        PatientPatientEntity patientPatientEntity = patientPatientDao.findImgNameByUserId(userId);
        return patientPatientEntity;
    }

    //用户头像修改
    @Override
    public void updateImgById(PatientPatientEntity patientPatient) {
        patientPatientDao.updateImgById(patientPatient);
    }

    //用户头像修改
    @Override
    public void updateNameById(PatientPatientEntity patientPatient) {
        patientPatientDao.updateNameById(patientPatient);
    }

    //用户id查询信息
    @Override
    public PatientPatientEntity findByUserId(String userId) {
        PatientPatientEntity patientPatientEntity = patientPatientDao.findByUserId(userId);
        return patientPatientEntity;
    }

    //userId查询信息
    @Override
    public UpdatePwdVo infoByUserId(String userId) {
        UpdatePwdVo updatePwdVo =patientPatientDao.infoByUserId(userId);;
        return updatePwdVo;
    }

    @Override
    public UpdatePwdVo updatePwdByUserId(UpdatePwdVo updatePwdVo) {
        UpdatePwdVo updatePwdVos = patientPatientDao.updatePwdByUserId(updatePwdVo);
        return updatePwdVos;
    }

    @Override
    public UpdatePwdVo findByOldPwd(UpdatePwdVo updatePwdVo) {
        UpdatePwdVo updatePwdVoEntity = patientPatientDao.findByUserIdVo(updatePwdVo.getUserId());
        return updatePwdVoEntity;
    }



}